package org.leafstar.shortlink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.leafstar.shortlink.admin.dao.entity.GroupDo;
import org.leafstar.shortlink.admin.dto.req.GroupSortReqDTO;
import org.leafstar.shortlink.admin.dto.req.GroupUpdateReqDTO;
import org.leafstar.shortlink.admin.dto.resp.GroupListRespDTO;

import java.util.List;

/**
 * 短链接分组接口
 */
public interface GroupService extends IService<GroupDo> {
    /**
     * 增加短链接分组
     *
     * @param groupName 组名
     */
    void saveGroup(String groupName);

    /**
     * 查询短链接分组列表
     */
    List<GroupListRespDTO> groupList();

    /**
     * 分组修改功能
     */
    Boolean updateGroup(GroupUpdateReqDTO requestParam);
    /**
     * 分组删除
     */
    Boolean deleteGroup(String gid);
    /**
     * 分组sort更新
     * @param requestParam 要更新的分组list
     * @return bool
     */
    Boolean sortGroup(List<GroupSortReqDTO> requestParam);

    /**
     * 新增(默认)的短链接分组
     * @param username 用户名
     * @param groupName 分组名
     */
    void saveGroup(String username,String groupName);
}
